#include <vector>
#include <map>

using namespace std;

class Solution {
public:
    int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {
        int res = 0;
        map<int,int> hash;
        for(int i = 0; i < nums1.size(); i++)
        {
            for(int j = 0; j < nums2.size(); j++)
            {
                int cntSum = nums1[i] + nums2[j];
                if(hash.count(cntSum) > 0)
                    hash[cntSum] += 1;
                else
                    hash.insert(pair<int,int>(cntSum,1));
            }
        }

        for(int i = 0; i < nums3.size(); i++)
        {
            for(int j = 0; j < nums4.size(); j++)
            {
                int cntSum = nums3[i] + nums4[j];
                if(hash.count(-cntSum) > 0)
                    res += hash[-cntSum];
            }
        }

        return res;
    }
};